• About
    • Credits
    • Introduction
    • License
  • Finished Product
    • Application
    • Directory Structure
    • Text Document
    • Web Document
  • Interface - Controls
    • Editor
    • Main Window
  • Step By Step
    • Add Content
    • Add Project - Quick Start
    • Edit CSS
    • Generate Help File

About - Credits

Jonathan Bennett and the AutoIt Team
Autoit Community
Any individual who makes a contribution will be added to the list below.
Contributing Authors
Santa (http://www.saintnick.org/)
Floyd The Barber (The older I got... the more I drank)

About - Introduction

Version: Development (Beta if you will)
License: Freeware
Developer: Apethumb Web Development (http://www.apethumb.com)

Purpose

The intention of MY HELP is to allow Autoit programmers to generate help files for their applications in .Au3 format (which may be independently compiled into an executable), generate a single document Html file (suitable for web publishing), or generate a simple text file.



Features
• Customize the look of your help file with CSS (any changes and additions will be exported when generating a Html help file).
• Preview your work before you save... even CSS!
• Include relative links to existing files (if the directory structure isn't compromised, makes for easy web publishing).
• Import and include images, which are copied to the project folder (also relative).
• Add custom tags for quick inclusion while creating or editing a file.
• Quick text formatting generates well structured span tags (color, font family, size, background, style).
• Quickly include horizontal rule, line break, image, or paragraph via buttons or hotkeys.
• Append content to an existing file.
• Quick start allows you to quickly define categories and sub-categories.
• Maintain multiple projects (directories, folders, files) through a single interface.
• And, of course, export any project as a Autoit, Html, or Text file (images, Css, and configuration, are exported as well).
• Create personal "help files" for anything. Other uses...
  • Organizer (Recipes, Cd/Lp/Dvd/Books, collectibles, etc.)
  • Log (financial, journal, program, etc.)
  • Snippets (code, urls, emails, etc.)
  • ... create a single document web site
  • ... experiment with Css and Html
  • ... use as a writing tool to help organize ideas... brainstorm

The true advantage of such a program is its structure. You are capable of creating many projects, each having their own independent Css file and image folder. The structure of folders and files is no different than that of your OS. The difference is, MY HELP seemingly keeps everything separate from your typical OS structure. Everything seems to be contained within MY HELP. Really, the only advantage is to create a structure that you may become comfortable with, without the clutter and distractions of typical OS.

So, for example and as a comparison... You could use MY HELP to create 10 different projects, for 10 different reasons, and access/maintain all of them "on the fly" through MY HELP.

Or, in spite of MY HELP, you could open Notepad/Word each time you need to create or make additions to a single file. Stumble through your files months later trying to find and organize them.


More importantly, aside from the possibilities concerning personal organization, MY HELP is intended to be a useful tool, for a useful community; a tool which may grow for, and because of, the community. Any help or contributions would be welcome. Any reported errors or bugs would be appreciated.

Requirements

• Autoit - MY HELP was created using version 3.2.10.0 and is being offered as a .Au3 file. Also, required to compile any generated .au3 files.
• Windows OS is questionable... I have no means of testing different versions.
• Internet Explorer is used for the internal browser and preview.
• Knowledge of CSS and HTML is beneficial. Basic knowledge of, at least, HTML is necessary (as previously stated, this could be an excellent tool to help learn CSS and HTML due to the non-destructive preview).

To-Do

• Make category and sub-category ordering independent of the users folder settings and the in-program tree and list options. Currently, trees and lists are being alphabetically ordered. However, if they weren't, then the users OS folder settings would determine the order they appear. I currently have nothing more than an extremely inefficient way of solving this... so, it is being excluded from this release.

• With the above... more directory/folder/file options: rename, move, import/export between projects and/or categories. This will be done, it's simply not priority due to the users ability to maintain these missing options through Windows Explorer (but, that defeats the purpose of this program... so, it will be done).

• WYSIWYG - Currently, I have a working prototype using Whizzy Wig (a simple, automated, embedded Html page). Unfortunately, it is not stable enough to include in this release.

• With the above... editor modes. Besides having a WYSIWYG editor, I would like to expand the normal Html editor with syntax highlighting and calltips (I am currently working with Scintilla.h.au3 and SciLexer.dll).

• Easy style editor. One which doesn't require the user to edit the Css more than pick values that would be inserted into the Css (much like the crap you see on Blogger).

• With the above... templates. Not only a pre-defined list of Css styles to choose from, but variations of the GUI, and the Html layout.

• Fix history. Currently, when a link is followed within the document it is not recorded in MY HELP’S history. So, the result is one page before the previous. However, right-click using IE’s history results in the previous document. Also, when a directory or file is removed... the history resets itself. The problem here isn't that it can't be fixed... it's just tedious and not priority. To retain the history after items have been removed, the file has to be removed from the content, index, and its directory. Then, bookmarks and history have to be cross checked to see if the file exists in either (not to mention, links to the removed file... which might exist in other files). Fixing history will likely be one of the last things to do.

Change Log

12-27-07: Minor fix with _GUICtrlComboBox_SelectString. Parameters from _GUICtrlComboSelectString were changed. Made adjustments. Also, adjusted GUIConstants"Ex".au3.

12-25-07: "Beta" released to Autoit Forum - Converted MY HELP to be compatible with 3.2.10.0.

12-23-07: "Beta" released - Need to find some bugs!

12-21-07: Fixed a bug with Quick Start. If no files existed, hence no project had been created yet, then the array of/for files was being skipped... confusing the title comparisons. Changed the restriction concerning numbers at the start of titles. Now, just for the Javascript and Css, they will simply be converted to alpha-counters (1 will be 'one', 2 will be 'two', etc.)

12-19-07: Added quick start - Fixed a bug with the generated .Au3 file (in bookmarks, if no items were selected and remove was toggled, crashed due to undefined variable). Created help file... with MY HELP!

12-18-07: Added format selected text option - Adjusted Css so generated Html file will include any changes or additions. Fixed bug with Css - Realized that if a title included certain characters, spaces, or began with numbers... then the Css and Javascript would malfunction. With this, added title checking. Also, an extreme inconvenience that needs to be fixed.

12-17-07: Fixed a bug - When spidering directories, if required project folders (images, bin) contained Html files, then the array returned to populate trees and lists was off... therefore excluding some files. Changed the way tags are inserted (now the caret centers itself between tags, jumps to the end of the line, or backspaces accordingly).

12-15-07: Added the ability to create multiple projects. With this... I created many problems with a few select global variables. Fixed. From that... more problems with creating directories. Fixed. Changed the way search works.

12-14-07: MsgBox Day! Made message boxes for just about everything. With this, took care of a few concerns with the way save was functioning.

12-13-07: Fixed a crap load of bugs concerning arrays. So many... I'm not going to list them. However, I will say that the program seems to be running a bit faster now.

12-12-07: After spending most of the day developing a WYSIWYG editor, using Whizzy Wig, I determined it wasn't stable enough... realized I wasted my day (it was a good learning experience, however).

12-11-07: Added the ability to generate .au3, .html, and .txt help files. Added the ability to edit Css file. Added more controls to the editor (insert link to existing file, and custom tags).

12-10-07: All the basics are set - Gui, controls, and functions. Currently does nothing more than create Html files for viewing and editing within the browser window.

11-07-07: Began work on MY HELP.

10-25-07: Began work on a simple version of MY HELP for personal use. Uses only text files. More or less, just notepad with a built in local file explorer.

About - License


*Note: If you are a contributing author from within the Autoit Community, then consider this license void. MY HELP is open-source. Otherwise... read on.



12-21-07
MY HELP - Beta
Apethumb © 2007
http://www.apethumb.com
apethumb[[at]]gmail.com
triad.art[[at]]gmail.com

MY HELP Free License Agreement

END-USER LICENSE AGREEMENT FOR FREEWARE

Except where otherwise noted, all of the documentation and software included in the MY HELP package is copyrighted by ApeApps (Apethumb Software - Apethumb.com).


COMPACT :

The owner of this software reserves all rights granted by copyright. However, the owner grants the following rights to users:

  • 1) The right to make personal copies of the software.
  • 2) The right to distribute the software for free (at no cost) to other users.

No further rights are granted or should be assumed. This includes, but is not limited to, the right to create derivative works.


EXTENDED :

IMPORTANT - READ CAREFULLY: As used in this Agreement, "Apethumb" shall mean ApeApps (Apethumb Software - Apethumb.com). This License Agreement is a legal agreement between you (either an individual or a single entity) and Apethumb for the MY HELP software product identified above, which may include associated software components, media, printed materials, and "online" or electronic documentation ("Software"). By installing, copying, or otherwise using the Software, you agree to be bound by the terms of this Agreement. If you do not agree to the terms of this Agreement, do not install or use the Software.

FREEWARE LICENSE

This Software is being distributed as Freeware. It may be freely used, copied and distributed as long as it is not sold, and all original files are included, including this license. You are NOT allowed to make a charge for distributing this Software (either for profit or merely to recover your media and distribution costs) whether as a stand-alone product, or as part of a compilation or anthology, without explicit prior written permission. By using this Software, you agree to these terms and the terms of the Disclaimer below:

DISCLAIMER

This Software and any support from Apethumb are provided "AS IS" and without warranty, express or implied. Apethumb specifically disclaim any implied warranties of merchantability and fitness for a particular purpose. In no event will Apethumb be liable for any damages, including but not limited to any lost profits, lost savings or any incidental or consequential damages, whether resulting from impaired or lost data, software or computer failure or any other cause, or for any other claim by the user or for any third party claim.




AutoIt v3 License


Finished Product - Application

Editing

After you have generated your .au3 help file, you can easily customize the appearance. This is the main reason I decided to generate the .au3 file rather than compile it for you. Everything is editable within the .au3 file. Just keep in mind that specific functions (certain variables) should be well understood before altering. When editing for the sake of appearance, most alterations will not affect the way the application functions. It is basic (simple) Autoit, but that does not mean simple changes will have simple affects. Changing a variables name could render the application dumb and useless. Again, the main purpose of allowing the .au3 file is to change the colors, fonts, placement, style and icon of the application.



Compiling

If you choose to compile your generated .au3 file, there are two things to keep in mind. Normal help files are compiled entirely. Meaning everything is jammed into one executable. Your help file will require a directory for files, unless you "fileinstall" everything. This may seem tedious to some, especially if your file count nears 50 or more (images as well). But, to achieve a truly pseudo help file, "fileinstall" will give your end product the same look and feel as a CHM.

Note: From Autoit Help File…
"The FileInstall function is designed to include files into a compiled AutoIt script. These included files can then be "extracted" during execution of the compiled script if the statement is executed. Keep in mind that files such as images can greatly increase the size of a compiled script."
Note: From Autoit Help File… History - 25th November, 2007 - v3.2.10.0
"FileInstall() is being rewritten from the ground up. The FileInstall() function will be retained but will not function in the same way. The new implementation will appear in future beta releases."

Finished Product - Directory Structure

Generated help files will have a, somewhat, strict directory structure (as is the case with most programs). Meaning, you should not rename, remove, or move any of the files within the FILES directory. More importantly, the directories BIN and IMAGES within each Category (sub-directory) should not be altered. Doing so will cause unwanted behavior. In fact, the program will fail to function, even if you didn’t use any images. The BIN directory was created, and is an option when saving, as a storage bin. When creating files, you may choose to save them to the BIN and later move/copy them to an active directory. This should only be done pre-generation, but could (in most cases) be safely executed afterwards. Swapping project specific Css files may have undesirable affects. Below is the necessary help file structure, if ever you find yourself missing a needed file. Bold denotes necessary program files.



Au3
Help-File-*your title (root directory)
-----------------your file.au3 (.au3 file)
-----------------Files (directory)
---------------------------default.html (security and error file)
---------------------------config.ini (configuration file)
---------------------------dir (directory)
-----------------------------------CSS.css (help file style sheet)
-----------------------------------Images (help file image directory)
-----------------------------------Bin (help file storage bin - directory)
-----------------------------------Category1 (example category directory)
--------------------------------------------------------sub-category1.html (example)
--------------------------------------------------------sub-category2.html (example)
-----------------------------------Category2 (example category directory)
--------------------------------------------------------sub-category1.html (example)
--------------------------------------------------------sub-category2.html (example)



Html
Help-File-*your title (root directory)
-----------------your title.html (.html file)
-----------------Images (help file image directory)



And… the text file is a single file.

Finished Product - Text Document

The only thing to note here is how the conversion works. Since the text file is created using Html files, a few things need to be attended to. Below is an outline of what… is replaced with…what.

List items = Tab*
Horizontal rules = -----------------------------
Opening paragraph tags = Tab
And special divisions according to DIV tags.
_______________________________________________
:::::::::::::::::::::::::::::::::::::::::::::::
...............................................

All this doesn’t make for a great looking help file, but… it is smaller and gets the point across.



Note: This feature is currently being restructured to recognize, replace, and define such things as " - < - > - etc. Also, textareas are currently being unrecognized and removed completely. So, if used for example code… the code will not appear in a generated text file. Below is what "My Help's" help file looks like in text format.

Finished Product - Web Document

When viewing the structure of your generated help files, you may have noticed that the Html directory is much smaller. This is because it is all contained within a single Html document. Javascript layers and Css make this possible. The bad news… if it is viewed with Javascript disabled (or without style), then my efforts and your intention are for nothing. Also, IE6 will not display properly. The good news… it will still be presentable as it is well structured.


Your generated Html file will be styled according to its project specific Css. However, once it is generated, you may make further changes from within the Html document. You should mind the Javascript and the bodies structure. One little change could make your document unresponsive. The customization I’m referring to, is mostly within the style.

One option you have after generating your help file is to add an image, or two, to the side bar of your help file. Look for the following code below…



… copy, move, or save an image to the help file’s image folder. And, create a link to it like so…



You may also add a background image to the Css... under #menu.

Another option to consider is using your generated help file in an IE embed with Autoit. Though you wouldn’t have such luxuries as bookmarks or an index, you would have a help file that seemed "more or less"… compiled (excluding images, of course). Again IE 6 will not display properly. A few minor adjustments will make it tolerable... just not "proper".

Interface - Controls - Editor

Hotkeys
Ctrl+p = paragraph tags
Ctrl+h = horizontal rule
Ctrl+i = add image
Shift+ENTER = line break


Editor
Editor Font: Change the font color, size, and family for the editor
Editor Back: Change the editor's background color
Select Tags/Add Custom Tags: Insert selected tag at current position/Prompts for tag to add to the taglist
Add Image: Prompts for local image and alternative text - Copies file to project's image folder
Duplicate: Duplicate selected text - Prompts for amount
Comment: Comment selected text
Paragraph: Wrap selected text in paragraph tags
Line: Insert horizontal rule
Break: Insert line break
Insert link to an existing page: Insert link to any file within current project
Format Selected Text: Finalizes text style options (Color, Family, Size, Background, Style)
Preview: When editing Css, will preview example file. Otherwise, will preview current file being edited.


Saving
Select existing directory/Create new: Select directory within current project to save content/Add new directory to current project
Title: Select existing file/Create new: Select new file for new title - Or, append to existing selected file
Finished: Save content to specified directory
Cancel: Return to main window
Save Edit: Save changes to current file (when editing an existing file, or Css)

Interface - Controls - Main Window

Manage
Quick Start: The small wand in the upper right hand corner. Opens Quick Start window for quick category/sub-category creation.
Open Selected Project: Opens selected project to add/edit content, edit Css, or generate help file.
Add Project: Prompts for new project title and opens default folder (default folder may be removed from the content control)
Add Content: Opens blank document in program editor for addition into selected project.
Edit Css: Opens the current projects Css file in the editor.
Generate .Au3 File: Prompts for title and location of generated .au3 file.
Generate .Html File: Prompts for title and location of generated .html file.
Generate .Txt File: Prompts for title and location of generated .txt file.
MY HELP Help: Small icon in lower right corner (question mark). Opens help file for 'My Help'... created by 'My Help'.


Content
Remove Item: Removes selected item from project directory
Remove Dir.: Prompts for directory selection to remove from current project
Display: Loads selected item into browser window


Index
Remove: Removes selected item from project directory
Display: Loads selected item into browser window


Search
Input: Specify term
Find: Searches current project files for specified term
Display: Loads selected item into browser window


Bookmarks
Remove: Removes selected item from bookmarks
Add: Adds current file to bookmarks
Display: Loads selected item into browser window


Browser
Navigate Forward: Right facing green arrow.
Navigate Back: Left facing green arrow.
Search: "Binoculars" - Prompts for search term to find within current file
Edit Page: "Pencil and paper" in lower right corner - Edit page currently loaded into browser window.

Step By Step - Add Content

To add content to your project, start by first selecting a project from the list under Manage. Select Open Selected Project to load it into the browser. By default the first file of the first folder will be loaded. Under Manage, select Add Content; this will open the editor. From here, it’s fairly self explanatory. Write out your content. Style if desired by using the editor’s Format Selected Text. Add links or images if desired. Use the Preview button at the bottom to view your page as often as you like. Once you are ready to finalize your content, choose the appropriate directory from the dropdown below the editor window (Select existing directory/Create new). You may also choose to create a new directory. Once the directory is selected, enter the title of your file (Title: Select existing file/Create new). You may also choose to append your content to an already existing file within the chosen directory. When you are finished… select Finished.


If you have chosen to edit existing content via the small icon below the browser, you will have the same options as above except for selecting a directory and file name (obviously, they already exist). Choose Save Edit rather than Finish to save your work.

Step By Step - Add Project - Quick Start

When you first open MY HELP, you will see that a project called DIR already exists. It is the default project and contains no files. You cannot change or delete this directory. Doing so will have no effect, as it is recreated upon your next session.


To start a new project, simply select Add Project from the main window. You will be asked to title your project (titles may only contain letters, numbers, underscores and hyphens). Once you have created your project it will immediately be selected. You can navigate to the Content (Content tab) and see that a default directory and file has been created. These files can be removed.


To quickly add categories and sub-categories, you may choose to use the Quick Start option. While in Manage (Manage tab) select the small wand in the upper right hand corner. The Quick Start window appears containing numerous inputs: one for your category title, 15 for sub-category titles, and 15 corresponding sub-category descriptions (quick text). Fill in all desired fields and select Next. All inputs are reset and you may create another category. Make sure to select Next each time you want to save your category. If you are truly finished you may hit Cancel to return to the main window.


Once you have finished Quick Start and returned to the main window, you may navigate to Content to see that your files have been created. From here, you may choose to edit each individual file by… first, selecting the file from the content window (tree), and select Display to load it into the browser window. Second, select the edit icon in the bottom right hand corner of the window to open the file in the editor.

Step By Step - Edit CSS

Under Manage, select Edit Css. The editor will open with the current projects style sheet. Each project has its own style sheet… keep that in mind. The default Css is fairly simple. Edit or add anything between the comments /*BEGIN.CSS.DO.NOT.REMOVE*/ and /*END.CSS.DO.NOT.REMOVE*/.


One of the most interesting options in MY HELP is the ability to preview the affects of your Css before saving. When doing so, an example page is loaded that uses the different elements, which are affected by the Css.

Note: to see the affects of your custom Css, you will have to save first, and then view the file that contains your custom style.
Hint: Create a dummy file. When you add to the Css, add to the dummy file. You can easily see the affects of your custom style before applying to relevant files.

You will see a section dedicated to Font Formatting. This section is what determines the selected style when editing your files (Format Selected Text button, and corresponding dropdowns to the right). You may change these to affect the editors output. However, any additions will be completely independent of the editor. Meaning, if you define your own format it will not be added to the Format Selected Text options. What you can do, however, is add it to the custom tags in the upper left corner of the editor. Simply select the "+" button next to the dropdown and when prompted add your custom formatting. Example below.

Lets say you add this to the Css
.darkred {color: #500}

To make this format available when editing your files, simply add the following to your custom tags.
<span class=”darkred”></span>

Tip: Classes can be combined, just separate with a space.
Hint: Alternatively, you can open the example code, which is used for the Css preview, and add liberally. Just make sure not to change the name or directory of the file. You can find the file in the root directory under "Files/filler.txt".


The above applies to much more than font formatting. You can obviously add anything you desire. In addition, the Font Formatting can be applied using divisions rather than spans. Doing so, you may change the background color of any box, or just the text of any box. There are many variations.

Once you are finished altering the Css file, simply choose Save Edit at the bottom of the window.

Step By Step - Generate Help File

Nothing tricky about generating help files. You have three options. Under Manage, select the desired format. You will be prompted to title your help file and where to save. All necessary files will be copied into the folder you specify. The folder will be titled Help-File-*your title.

When generating .Au3 and .Html files, the directory structure should be maintained. Removing or renaming folder or files, after generating, may cause them to function improperly.

See Directory Structure for more information.